অ্যাপাচি কমন্স কালেকশনস (Apache Commons Collections) লাইব্রেরি এমন বিভিন্ন ইউটিলিটি ক্লাস সরবরাহ করে, যা বিভিন্ন কালেকশনের মধ্যে Intersection, Union, এবং Disjunction অপারেশন করতে সাহায্য করে। এগুলি বিশেষভাবে উপকারী যখন আপনাকে দুটি বা ততোধিক কালেকশনের মধ্যে সম্পর্কিত উপাদান খুঁজে বের করতে হয়, যেমন দুটি সেটের সম্মিলন বা পার্থক্য।
এই অপারেশনগুলির মাধ্যমে আপনি Set, List, Map বা অন্যান্য কালেকশনের মধ্যে কমন উপাদান (intersection), সম্মিলিত উপাদান (union), বা পার্থক্য (disjunction) বের করতে পারেন। অ্যাপাচি কমন্স কালেকশনসে এই ধরনের কাজের জন্য বিশেষ কিছু ইউটিলিটি ক্লাস এবং পদ্ধতি রয়েছে, যেমন CollectionUtils।
Intersection অপারেশন দুটি কালেকশনের মধ্যে সেই উপাদানগুলো বের করে যা উভয়েই উপস্থিত থাকে। এটি সাধারণত Set বা List এর মধ্যে ব্যবহৃত হয়।
import org.apache.commons.collections4.CollectionUtils;
import java.util.Arrays;
import java.util.List;
public class IntersectionExample {
public static void main(String[] args) {
// Create two lists
List<String> list1 = Arrays.asList("apple", "banana", "orange");
List<String> list2 = Arrays.asList("banana", "orange", "grape");
// Get intersection of the two lists
List<String> intersection = (List<String>) CollectionUtils.intersection(list1, list2);
// Print the intersection
System.out.println(intersection); // Output: [banana, orange]
}
}
এখানে, CollectionUtils.intersection() পদ্ধতি ব্যবহার করা হয়েছে, যা দুটি তালিকার মধ্যে সাধারণ উপাদান "banana" এবং "orange" বের করেছে।
Union অপারেশন দুটি কালেকশনের মধ্যে সমস্ত ইউনিক উপাদান সংগ্রহ করে। এটি দুটি বা তার বেশি কালেকশনের সম্মিলন তৈরি করে এবং সমস্ত উপাদান একত্রে দেয়। এটি ডুপ্লিকেট উপাদানগুলো বাদ দেয় এবং শুধুমাত্র ইউনিক উপাদান থাকে।
import org.apache.commons.collections4.CollectionUtils;
import java.util.Arrays;
import java.util.List;
public class UnionExample {
public static void main(String[] args) {
// Create two lists
List<String> list1 = Arrays.asList("apple", "banana", "orange");
List<String> list2 = Arrays.asList("banana", "orange", "grape");
// Get union of the two lists
List<String> union = (List<String>) CollectionUtils.union(list1, list2);
// Print the union
System.out.println(union); // Output: [apple, banana, orange, banana, orange, grape]
}
}
এখানে, CollectionUtils.union() পদ্ধতি দুটি তালিকার সম্মিলন তৈরি করেছে। List ব্যবহার করার কারণে ডুপ্লিকেট উপাদান "banana" এবং "orange" বাদ দেওয়া হয়নি।
Disjunction অপারেশন দুটি কালেকশনের মধ্যে যে উপাদানগুলো একটিতে রয়েছে কিন্তু অন্যটিতে নেই, সেগুলো বের করে। এটি মূলত দুটি কালেকশনের মধ্যে পার্থক্য খুঁজে বের করতে ব্যবহৃত হয়। Disjunction অপারেশনটি দুটি কালেকশনের মধ্যে একে অপরের সাথে অভিন্ন না হওয়া উপাদানগুলো সংগ্রহ করে।
import org.apache.commons.collections4.CollectionUtils;
import java.util.Arrays;
import java.util.List;
public class DisjunctionExample {
public static void main(String[] args) {
// Create two lists
List<String> list1 = Arrays.asList("apple", "banana", "orange");
List<String> list2 = Arrays.asList("banana", "orange", "grape");
// Get disjunction of the two lists
List<String> disjunction = (List<String>) CollectionUtils.disjunction(list1, list2);
// Print the disjunction
System.out.println(disjunction); // Output: [apple, grape]
}
}
এখানে, CollectionUtils.disjunction() পদ্ধতি দুটি তালিকার পার্থক্য বের করেছে। "apple" এবং "grape" তালিকায় একে অপরের মধ্যে উপস্থিত নেই, তাই এগুলি পার্থক্য হিসেবে নির্বাচন করা হয়েছে।
অপারেশন | বর্ণনা | ফলাফল |
---|---|---|
Intersection | দুটি কালেকশনের মধ্যে সাধারণ উপাদানগুলো বের করা। | [banana, orange] (যেহেতু উভয় তালিকায় এই উপাদান দুটি রয়েছে) |
Union | দুটি কালেকশনের সমস্ত ইউনিক উপাদান একত্রিত করা। | [apple, banana, orange, grape] |
Disjunction | দুটি কালেকশনের মধ্যে পার্থক্য বা ভিন্ন উপাদান বের করা। | [apple, grape] (যেহেতু এক তালিকায় এটি রয়েছে কিন্তু অন্যটিতে নেই) |
Subtraction | একটি কালেকশনের উপাদান থেকে আরেকটি কালেকশনের উপাদান মুছে ফেলা। | [apple] (list1 থেকে list2 এর উপাদান বাদ দিলে) |
Intersection, Union, এবং Disjunction অপারেশনগুলি Apache Commons Collections এর শক্তিশালী বৈশিষ্ট্য, যা বিভিন্ন কালেকশনের মধ্যে সম্পর্কিত উপাদান খুঁজে বের করার জন্য ব্যবহৃত হয়। এই অপারেশনগুলি খুবই উপকারী যখন আপনাকে বিভিন্ন ডেটা স্ট্রাকচার বা সেটের মধ্যে সাধারণ উপাদান (intersection), সম্মিলিত উপাদান (union), বা পার্থক্য (disjunction) বের করতে হয়। CollectionUtils ক্লাসের মাধ্যমে এই অপারেশনগুলো কার্যকরীভাবে এবং সহজে সম্পন্ন করা যায়।
common.read_more